{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "read_path='/media/taufiq/Data/heart_sound/Heart_Sound/codes/logs/results.csv'\n",
    "df = pd.read_csv(read_path)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Filename</th>\n",
       "      <th>Weight Initialization</th>\n",
       "      <th>Activation</th>\n",
       "      <th>Class weights</th>\n",
       "      <th>Kernel Size</th>\n",
       "      <th>Max Norm</th>\n",
       "      <th>Dropout -filters</th>\n",
       "      <th>Dropout - dense</th>\n",
       "      <th>L2 - filters</th>\n",
       "      <th>L2- dense</th>\n",
       "      <th>...</th>\n",
       "      <th>Best Val Acc Per Cardiac Cycle</th>\n",
       "      <th>Epoch</th>\n",
       "      <th>Training Acc per cardiac cycle</th>\n",
       "      <th>Sensitivity</th>\n",
       "      <th>Specificity</th>\n",
       "      <th>Macc</th>\n",
       "      <th>No of Abnormal Strongly Mislabeled</th>\n",
       "      <th>No of Normal Strongly Mislabeled</th>\n",
       "      <th>Comments</th>\n",
       "      <th>folds</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>fold0 2017-12-06 15:22:11</td>\n",
       "      <td>zero</td>\n",
       "      <td>relu-sigmoid</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.25</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.01</td>\n",
       "      <td>...</td>\n",
       "      <td>68.12</td>\n",
       "      <td>68.0</td>\n",
       "      <td>86.68</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN Error</td>\n",
       "      <td>fold0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>fold1 2017-12-06 16:54:16</td>\n",
       "      <td>zero</td>\n",
       "      <td>relu-sigmoid</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.25</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.01</td>\n",
       "      <td>...</td>\n",
       "      <td>69.06</td>\n",
       "      <td>46.0</td>\n",
       "      <td>84.88</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN Error</td>\n",
       "      <td>fold1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>fold2 2017-12-06 18:05:33.552753</td>\n",
       "      <td>zero</td>\n",
       "      <td>relu-sigmoid</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.25</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.01</td>\n",
       "      <td>...</td>\n",
       "      <td>78.19</td>\n",
       "      <td>29.0</td>\n",
       "      <td>84.48</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NAN Error</td>\n",
       "      <td>fold2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>fold3 2017-12-08 16:06:20.506795</td>\n",
       "      <td>zero</td>\n",
       "      <td>relu-sigmoid</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.25</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.01</td>\n",
       "      <td>...</td>\n",
       "      <td>79.92</td>\n",
       "      <td>21.0</td>\n",
       "      <td>87.28</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Stooping low, possible NaN error</td>\n",
       "      <td>fold3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>fold0 2017-12-11 09:55:04.403236</td>\n",
       "      <td>he_normal</td>\n",
       "      <td>relu-sigmoid</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.25</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.01</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Underfittin, need to increase learning rate</td>\n",
       "      <td>fold0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 26 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                           Filename Weight Initialization    Activation  \\\n",
       "0         fold0 2017-12-06 15:22:11                  zero  relu-sigmoid   \n",
       "1         fold1 2017-12-06 16:54:16                  zero  relu-sigmoid   \n",
       "2  fold2 2017-12-06 18:05:33.552753                  zero  relu-sigmoid   \n",
       "3  fold3 2017-12-08 16:06:20.506795                  zero  relu-sigmoid   \n",
       "4  fold0 2017-12-11 09:55:04.403236             he_normal  relu-sigmoid   \n",
       "\n",
       "  Class weights  Kernel Size  Max Norm  Dropout -filters  Dropout - dense  \\\n",
       "0           NaN            5       NaN               NaN             0.25   \n",
       "1           NaN            5       NaN               NaN             0.25   \n",
       "2           NaN            5       NaN               NaN             0.25   \n",
       "3           NaN            5       NaN               NaN             0.25   \n",
       "4           NaN            5       4.0               NaN             0.25   \n",
       "\n",
       "   L2 - filters  L2- dense  ...    Best Val Acc Per Cardiac Cycle Epoch  \\\n",
       "0           NaN       0.01  ...                             68.12  68.0   \n",
       "1           NaN       0.01  ...                             69.06  46.0   \n",
       "2           NaN       0.01  ...                             78.19  29.0   \n",
       "3           NaN       0.01  ...                             79.92  21.0   \n",
       "4           NaN       0.01  ...                               NaN   NaN   \n",
       "\n",
       "   Training Acc per cardiac cycle  Sensitivity Specificity  Macc  \\\n",
       "0                           86.68          NaN         NaN   NaN   \n",
       "1                           84.88          NaN         NaN   NaN   \n",
       "2                           84.48          NaN         NaN   NaN   \n",
       "3                           87.28          NaN         NaN   NaN   \n",
       "4                             NaN          NaN         NaN   NaN   \n",
       "\n",
       "   No of Abnormal Strongly Mislabeled  No of Normal Strongly Mislabeled  \\\n",
       "0                                 NaN                               NaN   \n",
       "1                                 NaN                               NaN   \n",
       "2                                 NaN                               NaN   \n",
       "3                                 NaN                               NaN   \n",
       "4                                 NaN                               NaN   \n",
       "\n",
       "                                      Comments  folds  \n",
       "0                                    NaN Error  fold0  \n",
       "1                                    NaN Error  fold1  \n",
       "2                                    NAN Error  fold2  \n",
       "3             Stooping low, possible NaN error  fold3  \n",
       "4  Underfittin, need to increase learning rate  fold0  \n",
       "\n",
       "[5 rows x 26 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['folds']=df.Filename.map(lambda x: x.split(' ')[0])\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "68    True\n",
       "69    True\n",
       "70    True\n",
       "71    True\n",
       "72    True\n",
       "Name: folds, dtype: bool"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mask=df.folds.str.contains('fold2_noFIR')\n",
    "mask.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = df.sort_values('Learning Rate')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "lr = df['Learning Rate'][mask].values\n",
    "vac = df['Best Val Acc Per Cardiac Cycle'][mask].values/100"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7fa11492b5d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mpl.rcParams['figure.figsize']=(30,10)\n",
    "plt.plot(lr,vac,marker='^')\n",
    "# plt.yscale('log')\n",
    "# # plt.xscale('log')\n",
    "# plt.xlim(5E-4,4E-3)\n",
    "# plt.ylim(min(vac),1)\n",
    "plt.xscale('log',nonposy='clip')\n",
    "plt.xlabel('Learning Rate')\n",
    "plt.ylabel('Validation Accuracy')\n",
    "plt.grid()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[  1.47948020e-07   1.13288457e-04   1.35043973e-04   1.26424085e-09\n",
      "    3.60838896e-04   3.64370734e-06   1.00370928e-09   2.16067495e-09\n",
      "    3.97171549e-08   2.52837028e-06]]\n"
     ]
    }
   ],
   "source": [
    "lr_decay=10**np.random.uniform(-9,-3,(1,10))\n",
    "print lr_decay\n",
    "df = pd.DataFrame(np.hstack(lr_decay),columns={'lr_dec'})\n",
    "df.to_csv('lr_decay.csv',index=False)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
